源服務器是運行旨在偵聽和響應傳入請求或流量的程序的計算機。它包含網頁的原始版本,并負責在請求時將內容交付給最終用戶。
源服務器如何工作?
源服務器接收請求并為網站或網頁提供內容。當用戶在網站上打開網頁時,會向源服務器發送請求以檢索內容。根據源服務器與最終用戶的距離,這可能會導致延遲,稱為延遲。
此外,用戶端的客戶端和源服務器還需要使用 SSL/TLS 協議建立安全連接,這會產生一些額外的往返時間(RTT)。RTT 可以被認為是瀏覽器請求信息和接收響應之間的總時間(以毫秒為單位)。除了物理距離外,流量、節點和中間 Web 服務器的數量也會影響 RTT。
源服務器由網站所有者維護和更新。每個這樣的服務器都有一個固定的容量,超出了它就不能接受流量,如果它繼續接收請求,可能會導致停機。如果源服務器出現停機或運行緩慢,最終用戶將無法按時或根本無法將內容交付給他們。
源服務器與邊緣服務器有何不同?
源服務器是一個通常與邊緣服務器或內容交付網絡或 CDN 緩存服務器相關的概念。雖然源服務器包含內容的原始版本,但邊緣服務器數量眾多,分布在世界各地。
對于 CDN,邊緣服務器位于內容分發網絡的邊緣。邊緣服務器負責存儲或緩存內容,并負責快速處理請求并將內容交付給附近的最終用戶。這樣,邊緣服務器減輕了原始服務器的負載,并且只有在要檢索任何未緩存的資產時才與它們聯系。即使使用 CDN,源站服務器也起著至關重要的作用。它們包含用于身份驗證的關鍵服務器端代碼和數據庫。
CDN 可以從源服務器卸載多少帶寬?
雖然 CDN 確實管理了很大一部分內容交付,但它們并沒有從源服務器上卸載所有此類任務。究竟可以卸載多少任務取決于 CDN 的功能和您網站的獨特方面。
廣義上講,CSS 文件、圖片、靜態 HTML 和 Javascript 文件等靜態資源可以緩存在 CDN 服務器中。而這些構成了幾乎一半的帶寬使用量,如果它們從邊緣服務器交付,則可以節省下來。此外,動態內容(如在旅途中生成的 WordPress HTML 文件)也可以使用高級 CDN 進行緩存,在這些情況下,節省的帶寬可以超過 80%。
CDN 邊緣服務器如何與源服務器交互
當后者將內容交付給前者時,CDN 邊緣服務器與源服務器交互。兩者可以使用推送或拉取方法相互通信。在推送方法中,您將使用對源服務器所做的更改來更新 CDN。這不如 CDN 自動從源服務器中拉取新內容的拉取方法有效。
根據交付給最終用戶的內容是涉及靜態資產還是動態資產,邊緣服務器和源服務器所扮演的角色也可能略有不同。考慮登錄頁面的示例,其中用戶必須在訪問服務之前進行身份驗證。理想情況下,下載到網頁的資產是靜態資產,如 HTML 頁面、相應的 CSS 文件、任何圖像文件和一些 JavaScript 庫。由于這些是對所有網站訪問者都相同的靜態文件,因此可以直接從邊緣服務器緩存和提供它們。它們可以從邊緣服務器加載,而不會打擾源服務器并消耗帶寬。
但是當用戶輸入他們的登錄詳細信息時,有一些動態內容必須傳送到邊緣服務器。從這里,邊緣服務器將請求中繼到源服務器。在返回用戶帳戶信息之前,它是通過將登錄詳細信息與數據庫進行比較來驗證登錄詳細信息的源服務器。
為了使 CDN 正常工作,需要將邊緣服務器指定為入站 HTTP 請求的目的地。為此,您將需要對您的域名系統 (DNS) 進行一些修改,它將對您的域的請求路由到其中一臺邊緣服務器。要檢查您的內容是否從邊緣服務器傳送,您可以查看資產的響應標頭。
CDN 是否保護源服務器?
源服務器因其在存儲網站內容方面的重要性而需要受到保護以免受網絡攻擊。CDN 可以通過保護源服務器免受某些傳入流量的影響,在這方面提供幫助。他們通過幾種方式做到這一點
檢查傳入流量
CDN 檢查傳入的 HTTP/S 請求以識別和過濾 Web 應用程序攻擊,例如 SQL 注入和跨站點腳本。這也有助于對抗某些類型的 DDoS 攻擊,例如旨在通過直接發送流量來取出源服務器的應用層攻擊。
隱藏源服務器的 IP 地址
CDN 還可以幫助您保護源服務器免受直接到 IP 的攻擊,例如網絡層 DDoS 攻擊。這是通過隱藏源服務器的真實 IP 地址和路由域將請求解析到 CDN 提供商的 IP 來完成的。
管理流量高峰
CDN 旨在處理網站流量高峰。當源站服務器被大量網絡流量淹沒時,它們可能導致網站中斷和停機。CDN 有助于在其網絡中分配這種流量峰值,而不會對源服務器造成過度壓力。